package com.chat;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;

/**
 * 简单一对一聊天
 */
public class UdpChatDemo01 {
    public static void main(String[] args) throws Exception {
        /**
         * 分析思路
         * 发送过去
         * 接收
         */
        // 1.创建 socket
        DatagramSocket socket = new DatagramSocket(8888);
        while (true) {
            // 2.键盘输入消息进行发送 -- 输入流
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
            // 读取内容
            String data = reader.readLine();
            // 转换成 字节数组
            byte[] dataBytes = data.getBytes();
            // 组装数据包
            //DatagramPacket packet = new DatagramPacket(dataBytes,0,dataBytes.length,new InetSocketAddress("localhost",8888));
            DatagramPacket packet = new DatagramPacket(dataBytes, 0, dataBytes.length, InetAddress.getByName("localhost"), 6666);
            // 发送数据包
            socket.send(packet);
            // 如果是 bye 断开连接
            if (data.equals("bye")) {
                break;
            }
        }
        // 关闭资源流
        socket.close();
    }
}
